package com.ljf.authority.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ljf.common.model.BasisModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 页面方法对象  authority_base_menu_page_method
 *
 * @author LJF
 * @since 2024-11-22
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("页面方法")
@EqualsAndHashCode(callSuper = true)
@TableName("authority_base_menu_page_method")
public class AuthorityBaseMenuPageMethod extends BasisModel {

	private static final long serialVersionUID = 1L;

	/**
	 * Java类型: Long
	 * 数据库类型: bigint
	 * 注释: ID
	 * {@link AuthorityBaseMenuPageMethod#COL_ID}
	 */
	@JsonProperty("id")
	@ApiModelProperty(value = "ID")
	@TableId(value="id", type= IdType.AUTO)
	private Long id;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(60)
	 * 注释: 编码
	 * {@link AuthorityBaseMenuPageMethod#COL_CODE}
	 */
	@TableField("code")
	@JsonProperty("code")
	@ApiModelProperty(value = "编码")
	private String code;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(50)
	 * 注释: 方法
	 * {@link AuthorityBaseMenuPageMethod#COL_METHOD}
	 */
	@TableField("method")
	@JsonProperty("method")
	@ApiModelProperty(value = "方法")
	private String method;

	/**
	 * Java类型: Integer
	 * 数据库类型: tinyint(1)
	 * 注释: 模式(1:初始化执行;2:退出执行)
	 * {@link AuthorityBaseMenuPageMethod#COL_MODE}
	 * {@link com.ljf.authority.enums.AuthorityBaseMenuPageMethodModeEnum}
	 */
	@TableField("mode")
	@JsonProperty("mode")
	@ApiModelProperty(value = "模式(1:初始化执行;2:退出执行)")
	private Integer mode;


	/**
	 * ID
	 * {@link AuthorityBaseMenuPageMethod#id}
	 */
	public static final String COL_ID = "id";
	/**
	 * 编码
	 * {@link AuthorityBaseMenuPageMethod#code}
	 */
	public static final String COL_CODE = "code";
	/**
	 * 方法
	 * {@link AuthorityBaseMenuPageMethod#method}
	 */
	public static final String COL_METHOD = "method";
	/**
	 * 模式(1:初始化执行;2:退出执行)
	 * {@link AuthorityBaseMenuPageMethod#mode}
	 */
	public static final String COL_MODE = "mode";
	/**
	 * 修改时间
	 * {@link AuthorityBaseMenuPageMethod#modifyTime}
	 */
	public static final String COL_MODIFY_TIME = "modify_time";

}
